package com.yanmaohu.yulia.bean;

/**
 * @author Bright Lee
 */
public final class OverlayFunction implements StringValueFunction {

    private int beginIndex;
    private int endIndex;
    private StringValueExpression characterValueExpression1;
    private StringValueExpression characterValueExpression2;
    private NumericValueExpression startPosition;
    private NumericValueExpression stringLength;
    private CharLengthUnits charLengthUnits;

    public OverlayFunction(int beginIndex,
                           int endIndex,
                           StringValueExpression characterValueExpression1,
                           StringValueExpression characterValueExpression2,
                           NumericValueExpression startPosition,
                           NumericValueExpression stringLength,
                           CharLengthUnits charLengthUnits) {
        this.beginIndex = beginIndex;
        this.endIndex = endIndex;
        this.characterValueExpression1 = characterValueExpression1;
        this.characterValueExpression2 = characterValueExpression2;
        this.startPosition = startPosition;
        this.stringLength = stringLength;
        this.charLengthUnits = charLengthUnits;
    }

    @Override
    public int getBeginIndex() {
        return beginIndex;
    }

    @Override
    public int getEndIndex() {
        return endIndex;
    }

    public StringValueExpression getCharacterValueExpression1() {
        return characterValueExpression1;
    }

    public StringValueExpression getCharacterValueExpression2() {
        return characterValueExpression2;
    }

    public NumericValueExpression getStartPosition() {
        return startPosition;
    }

    public NumericValueExpression getStringLength() {
        return stringLength;
    }

    public CharLengthUnits getCharLengthUnits() {
        return charLengthUnits;
    }

}
